Discord.jsのドキュメントに出てくるimplements TextBasedChannelとは
https://gyazo.com/31b3cc3eb259fe29e0a585987d3bff9e
これが何かというとTextBasedChannelというインターフェースを実装(implements)しているという意味
それでインターフェースが何なのかというと「同じ使い方ができるメソッドだよ」というのを明示するためのもの
ただJavaScriptにはインターフェースが無いのでクラスを使って擬似的に作られている。つまり実態としてはクラス
しかしJavaScriptでは複数のクラスを同時にextendsできないから、メソッドを付け足すような処理が書かれていたりする
ここでの「同じ使い方ができるメソッド」とはすなわち.send()や.startTyping()など(プロパティもある
つまりTextBasedChannelは「テキストチャンネルっぽいもの」のような意味
Discord.jsでテキストチャンネルは、サーバー内のテキストチャンネルのみを指すので、DMなどはそうではない